﻿using Matchingo.Common.Types.Enumerations;

namespace Matchingo.Common.Types.Interfaces
{
    /// <summary>
    /// Defines a menu item which can be made use of through the menu provider
    /// </summary>
    public interface IMenuItem
    {
        /// <summary>
        /// Tells a menu to transition, and specifies what type of transition is desired
        /// </summary>
        /// <param name="inOrOut">are we sliding the menu in (onto screen), or sliding it out (off of screen)</param>
        /// <param name="direction">which direction the menu item should move</param>        
        /// <param name="skipAnimation">animate the transition, or move immediately</param>
        /// <returns>whether or not the menu actually handled the requested transition</returns>
        bool TransitionMenu(InOutEnumeration.InOut inOrOut, DirectionNames.Direction direction, bool skipAnimation);
    }
}
